package novel.manager.service.iface.spider.novel;

import java.util.Iterator;
import java.util.List;

import novel.manager.pojo.web.Novel;

/**
 * 爬取某个站点的小说列表
 */
public interface INovelSpider {
	/** 抓取某一个页面时最大的尝试次数3 */
	public static final int MAX_TRY_TIMES = 3;
	/**获取小说列表的小说列表*/
	public List<Novel> getNovels(String url, Integer maxTryTimes);
	/**是否有下一页小说列表*/
	public boolean hasNext();
	/**获取下一页小说列表页面的链接*/
	public String next();
	/**模拟iterator遍历方式*/
	public Iterator<List<Novel>> iterator(String firstPage, Integer maxTryTimes);
	/**遍历的多种方式：
	 * 方式1：
	 * List<Novel> novels = new ArrayList<>();
	 * 假设novels中有很多的元素
	 * for (int index = 0, size = novels.size(); index < size; index++) {
	 * 	System.out.println("第" + index + "个元素是：" + novel);
	 * }
	 * 方式2：
	 * for (Novel novel : novels) {
	 * 	System.out.println(novel);
	 * }
	 * 方式3
	 * Iterator<Novel> iterator = novels.iterator();
	 * while (iterator.hasNext()) {
	 * 	Novel novel = iterator.next();
	 * 	System.out.println(novel);
	 * }
	 * */
}
